查看原文
其他

方程式(EQUATION)部分组件中的加密技巧分析

2015-04-20 安天CERT 安天


安天分析团队从2015年2月启动了“方程式(EQUATION)”分析工作,在形成了第一篇分析报告后,后续整体分析并未取得更多的进展和亮点。基于这种情况,我们决定首先尝试对部分组件中的加密技巧进行了分析梳理,以利后续工作,本次我们将相关工作进行分享,希望得到业内同仁的批评指点。

DoubleFantasy组件

DoubleFantasy是用于环境认证的前导模块,其他分析机构认为该组件活跃时间约为2004年至2012年,之后被TripleFantasy替代。DoubleFantasy针对资源、注册表存储和网络通讯中均使用了加密技巧。

资源加解密算法:DoubleFantasy自带的资源为密文,采用异或算法,密钥有两个,为0x3C(xor 0x3C)和0x7F(xor 0x7F),如图:


注册表存储配置和网络通讯加密算法:

DoubleFantasy组件中的注册表存储配置信息和网络通讯加密算法均为对称加密算法RC6。组件代码生成一组长度0x44*4的密钥,随后使用该密钥,对一些配置数据和网络通讯进行加密,由于是对称加密算法,加解密方法相同。DoubleFantasy没有预设密钥,保证对不同目标采用的加密密钥都不相同。

RC6是一种分组加密算法,其由RSA实验室以RC5算法为基础改进提出,并参加了AES的遴选,成为最终入围的5种候选算法之一,但最终被比利时的Rijandael击败。

1.解密函数参数

函数共5个参数,其中4个参数

Decode

{

Lpdata1 ;密文地址

Lpdata2 ;解密后明文地址

Lenth ;密文长度

Lpkey ;密钥地址

}

2.密钥结构分析


3.解密数据的方法

1) 根据密钥,计算二级密钥(二级密钥长度为16bytes);

2) 将密文前16位与二级密钥逐byte进行异或操作,结果为明文;

3) 将计算后的二级密钥按顺序替换密钥中的k45-k48,共16个bytes;

4) 重新计算下一级密钥,再对后面16个bytes进行解密;

5) 循环直到未解密的密文长度不足16bytes;

6) 修正标志为剩余密文byte数;

7) 继续计算下级密钥并更新密钥,逐byte解密;

4.二级密钥计算方法

1) 二级密钥共16个bytes,4个bytes为一个参数。结构图如下:


二级密钥计算密码表


2) 二级密钥计算方法

a) R2=K1+K46;R4=K2+K48

b) (L1+L1+1)*L1=M1;(L2+L2+1)*L2=M2

c) M1环左移5位得到结果M1;M2环左移5位得到结果M2

d) M1和L3进行异或操作;M2和L4进行异或操作

e) 分别取M1和M2的低8位:N1和N2

f) 将M1循环左移N2位得到Z1;将M2循环左移N1位得到Z2

g) Z1+K3写入到L3对应的地址中

h) Z2+K4写入到L4对应的地址中

i) 步骤2-8循环4次。其中L下标每次加3,K下标每次加2

j) 步骤2-9重复循环5次,L下标不变,K下标依次向后增加。

k) K43+R1=R1;K44+R3=R3


该加密算法比较对安全研究人员分析增加了一定困难,由于没有预设的密钥,除非分析人员有完整的数据流,否则无法解密加密的数据。

Equation Drug组件

EquationDrug是一个复杂的攻击组件,其是Fanny/Fantasy系列前导验证模块,的一个手续枢纽模块,可以完成相关的信息上传和后续组件下载工作。

资源加解密算法:采用了是异或和移位混合使用的方式。

下面是将资源中数据获取,并对其解密的一段操作,解密得到多个字符串。


在EquationDrug的msnadt.exe模块中,我们发现释放可执行程序相关解密操作,所使用的加密方式多为移位、异或操作,下图为主要的解密部分。


GrayFish组件

GrayFish组件是方程式攻击组织使用组件中最为复杂的组件之一,其自身依托注册表进行分块存储,借助Bootkit完成无文件载体的加载。其资源、配置中广泛使用了加密技术。

资源加解密算法:

1. GrayFish还原为执行体后,其资源节的前4字节为解密密钥

2. X =0xDD483B8F - 0x6033A96D *密钥

3. 逐字节读取后面的数据与X进行异或

解密的数据使用RtlCompressBuffer修复即得到明文


GrayFish的资源解密代码

配置数据解密算法:

1.密码对照表在偏移0x0042010C处

2.根据密文的16进制数作为偏移,从密码对照表中读取数据

3.逐字节读取拼接成明文数据


GrayFish配置字符串解密算法和密码对照表

小结

此篇文章是我们完成《修改硬盘固件的木马——探索方程式(EQUATION)组织的攻击组件》一文后,取得的一些有限的进步与心得。我们自身并算不擅长的加密算法,但对此进行梳理,有利于为后续分析扫清障碍。

方程式对于安全研究者和用户来说,无疑都是一个强大的对手,而我们的资源非常有限,但也许更为重要的是,我们并未放弃。

参考资料

1、 安天实验室:修改硬盘固件的木马探索方程式(EQUATION)组织的攻击组件

http://www.antiy.com/response/EQUATION_ANTIY_REPORT.html

2、 卡巴斯基实验室:Equation: The Death Star of Malware Galaxy

http://securelist.com/blog/research/68750/equation-the-death-star-of-malware-galaxy

3、 卡巴斯基实验室:A Fanny Equation: "I am your father, Stuxnet"

http://securelist.com/blog/research/68787/a-fanny-equation-i-am-your-father-stuxnet

4、 卡巴斯基实验室:Equation Group: from Houston with love

http://securelist.com/blog/research/68877/equation-group-from-houston-with-love

5、 翰海源:Equation Group硬盘固件后门修改模块浅析

http://blog.vulnhunt.com/index.php/2015/03/20/equation-group-firmware-backdoor-analysis

附录一:关于安天


安天是专业的下一代安全检测引擎研发企业,安天的检测引擎为网络安全产品和移动设备提供病毒和各种恶意代码的检测能力,并被超过十家以上的著名安全厂商所采用,全球有数万台防火墙和数千万部手机的安全软件内置有安天的引擎。安天获得了2013年度AV-TEST年度移动设备最佳保护奖。依托引擎、沙箱和后台体系的能力,安天进一步为行业、企业用户提供有自身特色的基于流量和终端的反APT解决方案。


关于反病毒引擎更多信息请访问:

http://www.antiy.com(中文)

http://www.antiy.net(英文)

关于安天反APT相关产品更多信息请访问:

http://www.antiy.cn

关于安天更多信息发布请扫描安天公众号:
















您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存